package br.com.pfm.vo.grafico;

import java.util.List;

public class Grafico {
	private String titulo;
	List<Data> datas;
	
	
	
	public String getTitulo() {
		return titulo;
	}
	public void setTitulo(String titulo) {
		this.titulo = titulo;
	}
	public List<Data> getDatas() {
		return datas;
	}
	public void setDatas(List<Data> datas) {
		this.datas = datas;
	}
	
	
	
	public String script(){
		
		String script = 
			"<script type=\"text/javascript\">"+ "\n"
		  + "window.onload = function () {"+ "\n"
		  +  "var chart = new CanvasJS.Chart(\"chartContainer\", {"+ "\n"
		  +  ""+ "\n"
		     + "title:{"+ "\n"
		     + "text:"+ "\""+ this.titulo +"\""+ "\n"               
		     + "},"+ "\n"
		     
		     +dados()+ "\n"
		     
		     + "}"+ "\n"

		     + ");"+ "\n"

		    + "chart.render();"+ "\n"
		  + "}"+ "\n"
		  + "</script>";

		
		return script;
	}
	
	private String dados(){
		String dados = " ";
		
		dados += "data: ["+"\n";
		for(Data data : datas){
			dados += "{"+"\n"
			+ "type: \""+ data.getType() +"\","+"\n"
			+ "startAngle:270,"+"\n"
			+ "toolTipContent:\"{label}\","+"\n"			
			+ "dataPoints:["+"\n";
			
			for(DataPoint dataPoint : data.getDataPoints()){
				dados += "{";
					dados += "label: \""+ dataPoint.getLabel() +"\", y: "+ dataPoint.getY();	
				dados += "},";
			}
			dados = dados.substring(0, dados.length()-1);
			dados += "]"+"\n";
			dados +="},";
		}
		dados = dados.substring(0, dados.length()-1);
		dados += "]"+"\n";
		
		
		return dados;
	}
	
	
}
